package com.hedl.practice.diyJava.gather.study_enum_map.test;

import java.time.DayOfWeek;
import java.util.Arrays;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {

        /**
         * 如果Map的key是enum类型，推荐使用EnumMap，既保证速度，也不浪费空间。
         * 使用EnumMap的时候，根据面向抽象编程的原则，应持有Map接口。
         */
        //使用EnumMap的时候，我们总是用Map接口来引用它，因此，实际上把HashMap和EnumMap互换，在客户端看来没有任何区别。
        Map<DayOfWeek,String> map = new EnumMap<DayOfWeek, String>(DayOfWeek.class);

        //测试
        Map<String,Integer> map1 = new HashMap<>();
        map1.put("Hello",1234);
        map1.put("Xiao",5678);
        map1.put("Da",9876);

        map.put(DayOfWeek.MONDAY,"星期一");
        map.put(DayOfWeek.TUESDAY,"星期二");
        map.put(DayOfWeek.WEDNESDAY,"星期三");
        map.put(DayOfWeek.THURSDAY,"星期四");
        map.put(DayOfWeek.FRIDAY,"星期五");
        map.put(DayOfWeek.SATURDAY,"星期六");
        map.put(DayOfWeek.SUNDAY,"星期日");

        System.out.println(map);
        System.out.println(map.get(DayOfWeek.MONDAY));

        System.out.println("测试直接输出map》》"+map1);
    }
}
